table.CHANGE_BEGIN Function

Syntax

V Change_Begin([L honor_field_rules])

Arguments

honor_field_rules

Optional. Default = .F. .T. = UI Level and Engine Level field rules are enforced when the record is changed. .F. = Alpha Anywhere does not enforce these "UI level" field rules.

Description

Begin changes to tables current record.

Discussion

The <TBL>.CHANGE_BEGIN() method initiates a Change operation on the current (most recently fetched) record in the table referenced by the specified table pointer (<TBL>). You complete the Change operation by calling <TBL>.CHANGE_END() with the same table pointer.

Field Rule Enforcement

If Field_Rules_Flag is .T., then UI Level field rules are enforced when the record is changed. If the Field_Rules_Flag is .F., then Alpha Anywhere does not enforce these UI Level field rules. UI Level field rules are rules such as:

trigger events
capitalization
minimum and maximum values
masks/templates
lookup fill-ins

Engine Level

Engine Level rules, such as auto-increment values are always enforced. One or more Change operations can occur simultaneously, each on a different open table. The number of active Change operations cannot exceed the number of open tables. Once a table is in Change mode, values can be assigned to the table fields in the record buffer. For example, the following operation changes the LAST_NAME and FIRST_NAME fields in the last record:

dim tbl as P
tbl = table.open("c:\data\customers")
tbl.change_begin()
tbl.last_name = "Washington"
tbl.first_name = "George"
tbl.change_end(.T.)
tbl.close()

The <TBL>.CHANGE_BEGIN()must be followed by a corresponding <TBL>.CHANGE_END()to save the new field values to the record. For more information, see the <TBL>.CHANGE_END() method. Note : You cannot use the <TBL>.CHANGE_BEGIN() method or <TBL>.ENTER_BEGIN() methods on a table that is already in either Change or Enter mode. To determine the current mode, use the <TBL>.MODE_GET() method. Note : You cannot move the record pointer (using any of the fetch methods) in a table that is already in either Change or Enter mode.

See Also